package com.initialize.pub.util;

import com.initialize.pub.config.Md5Config;
import com.initialize.pub.config.SiteConfig;
import org.apache.commons.codec.digest.DigestUtils;

public class MD5 {


    /**
     * 带秘钥
     *
     * @param text 明文
     * @return 密文
     */
    public static String md5(String text) {
        return DigestUtils.md5Hex(text + Md5Config.KEY);
    }

    /**
     * 不带秘钥
     *
     * @param text
     * @return
     */
    public static String md52(String text) {
        return DigestUtils.md5Hex(text);
    }

    // 带秘钥加密

    /**
     * MD5验证方法
     *
     * @param text 明文
     * @param md5  密文
     */
    // 根据传入的密钥进行验证
    public static boolean verify(String text, String md5) {
        String s = text.replaceAll("\"", "");
        if (SiteConfig.FLAG) {
            System.err.println("秘钥:" + Md5Config.KEY);
            System.err.println("前端md5:" + md5);
            System.err.println("前端加密信息: " + s);
            System.err.println("后端md5:" + md5(text));
        }
        return md5(s).equalsIgnoreCase(md5);
    }


//    public static void main(String[] args) {
//        String a = "{\"content\":\"12\",\"email\":\"\",\"id\":\"2\",\"name\":\"12\",\"timestamp\":1582983291336}123";
//
//
//        String s = md52(a);
//        System.out.println(s);
//        System.out.println(md5("{\"content\":\"12\",\"email\":\"\",\"id\":\"2\",\"name\":\"12\",\"timestamp\":1582983291336}"));
//    }
}

